﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Corvus
{
    public interface ILogger
    {

        void Log(Type loggingType, LogLevel level, string message, params object[] args);
        void Log(Type loggingType, LogLevel level, Exception exception, string message, params object[] args);

        void Log(Type loggingType, LogLevel level, IFormatProvider formatter, string message, params object[] args);
        void Log(Type loggingType, LogLevel level, Exception exception, IFormatProvider formatter, string message, params object[] args);

        void Log(Type loggingType, string loggerName, LogLevel level, IFormatProvider formatter, string message, params object[] args);
        void Log(Type loggingType, string loggerName, LogLevel level, Exception exception, IFormatProvider formatter, string message, params object[] args);


    }
}
